<?php

namespace App\Trip\Orders\BookOrders\Params\AbstractOrderParam;

use App\Trip\Orders\BookOrders\Params\SnapParam;
use App\Trip\Orders\BookOrders\SnapUp\SnapUpData;

abstract class AbstractSnapOrderParam extends AbstractOrderParam
{
    /**
     * 备选坐席
     *
     * @return array
     */
    public abstract function getAlternativeSeats(): array;

    /**
     * 开车前多少分钟停止
     *
     * @return int
     */
    public abstract function getStopTime(): int;

    /**
     * 备选车次
     *
     * @return array
     */
    public abstract function getAlternativeTrains(): array;

    /**
     * 备选日期
     *
     * @return array
     */
    public abstract function getAlternativeTrainDates(): array;


    /**
     *
     * @return SnapUpData
     */
    public abstract function getSnapData(): SnapUpData;

    /**
     *
     * @return SnapParam
     */
    public abstract function getSnapParam(): SnapParam;
}